package com.shensi.appCollect.pojo.dto;

import com.shensi.appCollect.enums.ElectronCardType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * @date 2023/10/17
 */
@Setter
@Getter
@ToString
@ApiModel
public class CustomerCardChangeDto {

    @ApiModelProperty(value = "用户手机号")
    @NotBlank(message = "手机号不能为空",groups = PosView.class)
    private String mobilePhone;

    @ApiModelProperty(value = "油站id")
    @NotNull(message = "油站id不能为空",groups = PosView.class)
    private Long stationId;

    /**
     * 取值见{@link ElectronCardType}
     */
    @ApiModelProperty(value = "卡类型",allowableValues = "1,2,3,4")
    @NotBlank(message = "卡类型不能为空",groups = PosView.class)
    private String cardType;

    @ApiModelProperty(value = "金额")
    @NotNull(message = "金额不能为空", groups = PcView.class)
    private BigDecimal amt;

    @ApiModelProperty(value = "赠送金额")
    private BigDecimal presentAmt;

    @ApiModelProperty(value = "记录主键id")
    @NotNull(message = "主键id不能为空",groups = PcView.class)
    private Long id;

    @ApiModelProperty(value = "类型 0：增加 1：减少" )
    @NotNull(message = "操作类型不能为空",groups = PcView.class)
    private Integer operateType;

    @ApiModelProperty(value = "调整原因")
    //@NotNull(message = "调整原因不能为空")
    @Size(max = 20 , message = "调整原因不能超过20个字符")
    private String reason;

    @ApiModelProperty(value = "操作人")
    @NotNull(message = "操作人不能为空",groups = PcView.class)
    private Integer operator;


    @ApiModelProperty(value = "优惠券id")
    private List<String> couponIds;

    @ApiModelProperty(value = "消息是否推送 0 不推送 1 推送")
    private Integer messagePush;


    public interface PosView{}

    public interface PcView{}


}
